matlab 求det(k-w^2*M)=0 高手请进

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:49:48
K =
1.0e+008 *

0.1531 -0.0000 0.0000 0.0000 0.3317 0.0000
-0.0000 0.1531 0.0000 -0.3317 -0.0000 -0.0000
0.0000 0.0000 0.7384 -0.0000 0.0000 -0.0000
0.0000 -0.3317 -0.0000 1.3549 0.0000 -0.0000
0.3317 -0.0000 0.0000 0.0000 1.3549 -0.0000
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.5275

M=diag([6000 6000 6000 6250 8125 14125])

求w
W 也是个6*6的矩阵 能求吗?

不能求,不是方阵

w应该是一个实数,不是矩阵,最后列出的矩阵只是罗列了整数解而已。

给你一个参考.

syms x
K=[2,3;6,2];
M=diag([1,2]);

double(solve(det(K-x^2*M)))

之所以没用你的数据.因为你的K这个数据,有一些不准(就是这个屏幕上的值,跟你的MATLAB中的值可能不等,因为显示的话,只显示小数点后四位,而你的K的量级是10^8,也就是如果你的真实值是999的话,这里显示成0.0000*10^8)

你自己适当改一下,运行吧,不过有虚数解,你自己看要不要取这些虚数解。

=================
M=diag([6000 6000 6000 6250 8125 14125])
你这样写,M就是6*6的矩阵.只不过它是对角阵

你改成方阵(非对角阵),程序也是一样的,可解.

可以

用matlab应该不行,matlab没强大到那种程度。